package com.nan.operation;

import com.nan.book.Book;
import com.nan.book.BookList;

import java.util.Scanner;

//删除图书
public class DelOperation implements IOperation{
    @Override
    public void work(BookList bookList) {
        System.out.println("删除图书");
        System.out.println("请输入删除图书的名字：");
        Scanner scanner=new Scanner(System.in);
        String name= scanner.next();
        int pos=-1;
        int i=0;
        for(;i< bookList.getUsedSize();i++){
            Book book=bookList.getBook(i);
            if(book.getName().equals(name)){
                //System.out.println("查找到了这本书");
                pos=i;//记录你要删除的这本书的下标
                break;
            }
        }
        //第一种情况，一直没有查到这本书，for循环结束也没有
        //第二种情况：找到了这本书，因为break结束所有循环
        if (i>=bookList.getUsedSize()){
            System.out.println("没有需要删除的书籍！");
            return;
        }
        //顺序表的删除
        int curSize= bookList.getUsedSize();//在删除之前要记录UsedSize
        for(int j=pos;j< bookList.getUsedSize()-1;j++){
           Book book= bookList.getBook(i+1);//先要得到i+1下标的那本书
           bookList.setBook(i,book);
            //删除结束
        }
        bookList.setUsedSize(curSize-1);
        System.out.println("删除成功！");
    }
}
